PTT service is a real-time wireless communication service for providing instant connection and communication between terminals connected to a PTT network. In comparison with a general mobile communication service that requires a dial-up interface for connecting the communicating parties, in a PTT communication network, a user can communicate with other users by pressing a talk button of a PTT communication terminal without having to wait for a dial tone or a series of rings before the call is connected.
In a PTT network, a user can communicate voice or data over a point-to-point connection. Alternatively, a single message can be communicated to a group of PTT terminals connected to the PTT network.
PoC (Push-to-Talk Over Cellular) is a PTT service applied to a PTT terminal connected to a PTT communication network. A PTT server is used for controlling transmission of voice and data between PTT terminals and providing a variety of PTT services.
To communicate over a PTT communication network, a PTT terminal typically establishes a session with another PTT terminal connected to the PTT network through the PTT server. The PTT terminals transmit and receive voice and data over a Real Time Transport Control Protocol (RTCP).
A PTT terminal can store information of other terminals participating in the PTT service. Information such as identification data, CNAME (Canonical NAME), and NAME of PTT terminals participating in a PTT service is stored in storage media (e.g., memory) of the PTT terminals.
Accordingly, a PTT terminal receives a talk burst control message (also referred to as a floor control message) from the PTT server, and communicates a RTP (Real-time Transport Protocol) to another PTT terminal through the PTT server. That is, the PTT terminal requests a talk burst and waits to receive permission from the PTT server to transmit a voice or data message. In the related art systems, a talk burst indication is transmitted by a PTT server to all PTT terminals except for the PTT terminal that have received the permission to communicate to indicate that a permission to send a talk burst is taken by another PTT terminal.
Due to network characteristics and other unforeseen circumstances, it is possible that the talk burst indication sent from the PTT server to a PTT terminal is lost during transmission. In this scenario, a PTT terminal that receives a RTP packet from the sending PTT terminal without having received a talk burst indication will be unable to display the user name of the sending PTT terminal.
Typically, a PTT terminal that receives the RTP packet processes the identification data of the transmitting PTT terminal included in the RTP packet to determine the identity of the transmitting PTT terminal. The identification data is stored in a SSRC (Synchronization Source) field of the RTP packet. The receiving PTT terminal compares this identification data with information stored in memory of the PTT terminal. Accordingly, CNAME and NAME of the transmitting PTT terminal are determined and displayed on the receiving PTT terminal, if the matching information is found.
The above-mentioned implementation is disadvantageous because it requires a PTT terminal to have a high capacity memory or storage medium to store the identifying information for every PTT terminal participating in a PTT service. Further, since the identifying information and the related data are communicated between all PTT terminals connected to the PTT network, the system load will increase. This is because managing an RTP session with another PTT terminal RTCP packets will have to be processed between all PTT terminals.
Unfortunately, the related art methods do not provide a remedy when a talk burst control message communicated between a PTT terminal and a PTT server is lost. This degrades the reliability and quality of PTT service. A system or method is needed to overcome the above problems.